/*
 * fft_constants.h
 *
 *  Created on: May 14, 2010
 *      Author: Jamie LaPointe
 */

#if !defined(FFT_CONSTANTS_H_)
#define FFT_CONSTANTS_H_

#include "fft_types.hpp"

namespace FftLib
{
namespace Common
{

const float32 Pi = 3.1415926535897932386264;
const float32 TwoPi = 6.2831853071795864772528;

struct const4096
{
   static const uint32 ComplexNumComponents = 2;
   static const uint32 NumberOfRows = 128;
   static const uint32 NumberOfColumns = 128;
   static const uint32 WindowMaxMoveUd = 8;
   static const uint32 WindowMaxMoveLr = 8;
   static const uint32 WindowWidth = 64;
   static const uint32 WindowArea = WindowWidth * WindowWidth; // 4096
   static const uint32 Log2WindowArea = 12;
   static const uint32 ComplexWindowWidth = ComplexNumComponents * WindowWidth; // 128
   static const uint32 ComplexWindowArea = ComplexNumComponents * WindowArea; // 8192
};

}
}

#endif /* FFT_CONSTANTS_H_ */
